From 26ea82f165295ea2ebd92e9c4579a757647fd399 Mon Sep 17 00:00:00 2001 From: Julien Grall Date: Mon, 16 Feb 2015 14:50:52 +0000 Subject: [PATCH] xen/arm: vgic-v2: Take the lock when writing into GICD_CTLR This register is shared between every vCPUs and the lock was already taken for read. Signed-off-by: Julien Grall Acked-by: Ian Campbell --- xen/arch/arm/vgic-v2.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/xen/arch/arm/vgic-v2.c b/xen/arch/arm/vgic-v2.c index 84790279c9..42c64119e3 100644 --- a/xen/arch/arm/vgic-v2.c +++ b/xen/arch/arm/vgic-v2.c @@ -284,7 +284,10 @@ static int vgic_v2_distr_mmio_write(struct vcpu *v, mmio_info_t *info) case GICD_CTLR: if ( dabt.size != DABT_WORD ) goto bad_width; /* Ignore all but the enable bit */ + vgic_lock(v); v->domain->arch.vgic.ctlr = (*r) & GICD_CTL_ENABLE; + vgic_unlock(v); + return 1; /* R/O -- write ignored */ -- 2.30.2